Generally speaking, barcode scanning, in particular two dimensional barcode scanning, requires a great deal of image processing, the image to be in perfect focus and adequate lighting conditions. Accurate scanning can be hindered when these conditions are not met or when there is excessive motion. In addition, the barcode should ideally be properly positioned within the field of view of an imager, which may be unintuitive to aim. If any of these preconditions are not met, the barcode often cannot be deciphered. Also, sometimes the barcode itself is printed poorly and can be damaged during the life of the product. This can lead to hard or impossible to read codes. Some items, such as produce, often do not even have barcodes and have to be keyed in manually by a cashier. This can be time consuming and can be impeded by human error. It is also quite simple for a thief to swap the barcode of an expensive item with the barcode of a much cheaper product. These issues can cause major problems and be very expensive for businesses.
Therefore, a need exists for a system that enhances bar code reading or replaces the bar code reading with another system.